Data-Driven Feedback Generation for Introductory Programming Exercises

نویسندگان

  • Ke Wang
  • Rishabh Singh
  • Zhendong Su
چکیده

This paper introduces the “Search, Align, and Repair” datadriven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submissions in such settings and develop new algorithms for identifying similar programs, aligning correct and incorrect programs, and repairing incorrect programs by finding minimal fixes. We have implemented our technique in the Sarfgen system and evaluated it on thousands of real student attempts from the Microsoft-DEV204.1x edX course and the Microsoft CodeHunt platform. Our results show that Sarfgen can, within two seconds on average, generate concise, useful feedback for 89.7% of the incorrect student submissions. It has been integrated with the Microsoft-DEV204.1X edX class and deployed for production use.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Search, Align, and Repair: Data-Driven Feedback Generation for Introductory Programming Exercises

This paper introduces the “Search, Align, and Repair” datadriven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submiss...

متن کامل

A Classification of Data-Driven Hint Generation Techniques for Code-Writing Intelligent Tutoring Systems

The ability to write code accurately and fluently is a core competency for every engineering student. Introductory programming is an essential part of the curriculum in any engineering discipline in universities. However, for many beginning students, it is very difficult to learn. In particular, these students often get stuck and frustrated when attempting to solve programming exercises. One wa...

متن کامل

Teaching Introductory Programming to IS Students: The Impact of Teaching Approaches on Learning Performance

Introductory programming courses are typically required for undergraduate students majoring in Information Systems. Instructors use different approaches to teaching this course: some lecturing and assigning programming exercises, others only assigning programming exercises without lectures. This research compares the effects of these two teaching approaches on learning performance by collecting...

متن کامل

System for Automated Assistance in Correction of Programming Exercises (SAC)

In university programming classes often hundreds of students participate having to solve each hundreds of programming assignments a situation which puts instructors to the difficult task of validating hundreds of programming assignments. We present a framework that can help instructors and students in organization and validation of program code. Our “System for Automated Assistance in Correctio...

متن کامل

An Analysis of Incorporating Small Coding Exercises as Homework in Introductory Programming Courses

Small auto-graded coding exercises with immediate feedback are widely recognized as helping students in introductory programming courses. We analyzed usage of a particular coding exercise tool, at 11 courses at different universities. Instructors awarded differing amounts of course points (including zero) for the exercises. We investigated how awarding points affected student completion rates o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1711.07148  شماره 

صفحات  -

تاریخ انتشار 2017